@@ -20,6 +20,7 @@ angular.module('codexApp.index', [])
|
||
| 20 | 20 |
$scope.files = FileService.getAllFiles(); |
| 21 | 21 |
break; |
| 22 | 22 |
case "Notebooks": |
| 23 |
+ $scope.current_folder = FileService.getNotesDir(); |
|
| 23 | 24 |
$scope.files = FileService.getFolders(); |
| 24 | 25 |
break; |
| 25 | 26 |
case "Notebook": |
@@ -138,4 +139,13 @@ angular.module('codexApp.index', [])
|
||
| 138 | 139 |
return "" + FileService.absoluteToRelativeURL(FileService.getNotesDir(), img_url) |
| 139 | 140 |
} |
| 140 | 141 |
|
| 142 |
+ $scope.shortenPath = function(path) {
|
|
| 143 |
+ if($scope.current_folder != null) {
|
|
| 144 |
+ return FileService.shortenPath(path); |
|
| 145 |
+ } else {
|
|
| 146 |
+ return ""; |
|
| 147 |
+ } |
|
| 148 |
+ |
|
| 149 |
+ } |
|
| 150 |
+ |
|
| 141 | 151 |
}]); |
@@ -35,7 +35,6 @@ angular.module('codexApp.noteView', [])
|
||
| 35 | 35 |
filesystem.readFile($scope.note.path, function(err, data) {
|
| 36 | 36 |
//$scope.note.data = String.fromCharCode.apply(null, data); |
| 37 | 37 |
$scope.note.data = new Buffer(data).toString('utf8')
|
| 38 |
- console.log($scope.note.data); |
|
| 39 | 38 |
if(!$scope.$$phase) {
|
| 40 | 39 |
$scope.$apply(function(){
|
| 41 | 40 |
$scope.html_data = marked($scope.note.data); |
@@ -272,6 +272,8 @@ angular.module('codexApp')
|
||
| 272 | 272 |
} |
| 273 | 273 |
|
| 274 | 274 |
var absoluteToRelativeURL = function(current_url, absolute_url) {
|
| 275 |
+ //console.log(current_url); |
|
| 276 |
+ //console.log(absolute_url); |
|
| 275 | 277 |
// split urls and create arrays |
| 276 | 278 |
var current_path = current_url.split('/');
|
| 277 | 279 |
var absolute_path = getUrlParts(absolute_url).pathname.split('/');
|
@@ -295,6 +297,8 @@ angular.module('codexApp')
|
||
| 295 | 297 |
root_path_count = root_path_count + 1; |
| 296 | 298 |
} |
| 297 | 299 |
var count = current_path_count - root_path_count; |
| 300 |
+ console.log(current_path_count + " - " + root_path_count + " = " + count); |
|
| 301 |
+ |
|
| 298 | 302 |
//dif = current_path_count - (absolute_path_count -1); |
| 299 | 303 |
for (var i = 0; i < count; i++) {
|
| 300 | 304 |
absolute_path.shift(); |
@@ -310,6 +314,40 @@ angular.module('codexApp')
|
||
| 310 | 314 |
return absoluteToRelativeURL(current_url, absolute_url); |
| 311 | 315 |
} |
| 312 | 316 |
|
| 317 |
+ var shortenPath = function(path) {
|
|
| 318 |
+ //console.log(current_url); |
|
| 319 |
+ //console.log(absolute_url); |
|
| 320 |
+ // split urls and create arrays |
|
| 321 |
+ var current_path = path.split('/');
|
|
| 322 |
+ var root_path = getUrlParts(notes_dir).pathname.split('/');
|
|
| 323 |
+ // count how many folders the current path has |
|
| 324 |
+ var current_path_count = 0; |
|
| 325 |
+ for (var i = 0; i < current_path.length; i++) {
|
|
| 326 |
+ current_path_count = current_path_count + 1; |
|
| 327 |
+ } |
|
| 328 |
+ var root_path_count = 0; |
|
| 329 |
+ for (var i = 0; i < root_path.length; i++) {
|
|
| 330 |
+ root_path_count = root_path_count + 1; |
|
| 331 |
+ } |
|
| 332 |
+ var diff = current_path_count - root_path_count; |
|
| 333 |
+ var count = current_path_count - diff; |
|
| 334 |
+ console.log(current_path_count + " - " + root_path_count + " = " + count); |
|
| 335 |
+ |
|
| 336 |
+ //dif = current_path_count - (absolute_path_count -1); |
|
| 337 |
+ for (var i = 0; i < count; i++) {
|
|
| 338 |
+ current_path.shift(); |
|
| 339 |
+ } |
|
| 340 |
+ // make the relative path a string again |
|
| 341 |
+ var relative_path = current_path.join('/');
|
|
| 342 |
+ console.log("* Shortened Path: " + relative_path)
|
|
| 343 |
+ return relative_path; |
|
| 344 |
+ } |
|
| 345 |
+ |
|
| 346 |
+ // Absolute to relative URL |
|
| 347 |
+ this.shortenPath = function(path) {
|
|
| 348 |
+ return shortenPath(path); |
|
| 349 |
+ } |
|
| 350 |
+ |
|
| 313 | 351 |
// Get folders |
| 314 | 352 |
|
| 315 | 353 |
var getFolders = function(root) {
|
@@ -22,12 +22,17 @@ |
||
| 22 | 22 |
<div class="file-view"> |
| 23 | 23 |
<ul> |
| 24 | 24 |
<li ng-repeat="file in files track by $index" ng-dblclick="openFile(file)" class="file-view-item"> |
| 25 |
- <div class="thumbnail" ng-show="file.type != 'Folder'"> |
|
| 25 |
+ <div class="thumbnail-icon" ng-show="file.type != 'Folder'"> |
|
| 26 | 26 |
<img src="{{getImageURL(file.path)}}" ng-hide="isImage(file.type)">
|
| 27 | 27 |
<img src="{{file.thumbnail}}" ng-show="isImage(file.type)">
|
| 28 | 28 |
</div> |
| 29 |
- <img class="notebook-thumbnail" src="content/imgs/notebook-icon.png" ng-show="file.type == 'Folder'"> |
|
| 30 |
- <div>{{file.title}}</div>
|
|
| 29 |
+ <div class="notebook-icon" ng-show="file.type == 'Folder'"> |
|
| 30 |
+ <img class="notebook-thumbnail" src="content/imgs/folder-gray-icon.png" > |
|
| 31 |
+ <div class="notebook-icon-title">{{file.title}}</div>
|
|
| 32 |
+ <div class="notebook-icon-info">{{file.size}}</div>
|
|
| 33 |
+ </div> |
|
| 34 |
+ <div class="icon-name" ng-show="file.type != 'Folder'">{{file.title}}</div>
|
|
| 35 |
+ <div class="icon-name" ng-show="file.type == 'Folder'">{{file.title}}</div>
|
|
| 31 | 36 |
</li> |
| 32 | 37 |
</ul> |
| 33 | 38 |
</div> |
@@ -75,7 +75,7 @@ code {
|
||
| 75 | 75 |
|
| 76 | 76 |
/* File View */ |
| 77 | 77 |
|
| 78 |
-.file-view ul li .thumbnail {
|
|
| 78 |
+.file-view ul li .thumbnail-icon {
|
|
| 79 | 79 |
width: 220px; |
| 80 | 80 |
border: 1px solid #999; |
| 81 | 81 |
border-radius: 3px; |
@@ -85,7 +85,7 @@ code {
|
||
| 85 | 85 |
overflow: hidden; |
| 86 | 86 |
} |
| 87 | 87 |
|
| 88 |
-.file-view ul li .thumbnail img {
|
|
| 88 |
+.file-view ul li .thumbnail-icon img {
|
|
| 89 | 89 |
width: 100%; |
| 90 | 90 |
height: auto; |
| 91 | 91 |
} |
@@ -107,13 +107,18 @@ code {
|
||
| 107 | 107 |
margin-bottom: 0px; |
| 108 | 108 |
} |
| 109 | 109 |
|
| 110 |
-.notebook-thumbnail {
|
|
| 110 |
+.notebook-icon {
|
|
| 111 | 111 |
width: 220px; |
| 112 | 112 |
height: 170px; |
| 113 | 113 |
margin-bottom: 5px; |
| 114 | 114 |
overflow: hidden; |
| 115 | 115 |
} |
| 116 | 116 |
|
| 117 |
+.notebook-icon img {
|
|
| 118 |
+ width: 220px; |
|
| 119 |
+ height: 170px; |
|
| 120 |
+} |
|
| 121 |
+ |
|
| 117 | 122 |
pre code.hljs {
|
| 118 | 123 |
display: block; |
| 119 | 124 |
line-height: 2em; |
@@ -171,3 +176,25 @@ code.hljs .hljs-title {
|
||
| 171 | 176 |
height: 100%; |
| 172 | 177 |
padding-top: 2px; |
| 173 | 178 |
} |
| 179 |
+ |
|
| 180 |
+.icon-name {
|
|
| 181 |
+ width: 220px; |
|
| 182 |
+} |
|
| 183 |
+ |
|
| 184 |
+.notebook-icon-title {
|
|
| 185 |
+ position: relative; |
|
| 186 |
+ top: -102px; |
|
| 187 |
+ font-family: Helvetica-Bold; |
|
| 188 |
+ font-size: 18px; |
|
| 189 |
+ color: #000000; |
|
| 190 |
+ line-height: 22px; |
|
| 191 |
+} |
|
| 192 |
+ |
|
| 193 |
+.notebook-icon-info {
|
|
| 194 |
+ position: relative; |
|
| 195 |
+ top: -48px; |
|
| 196 |
+ font-family: Helvetica; |
|
| 197 |
+ font-size: 12px; |
|
| 198 |
+ color: #000000; |
|
| 199 |
+ line-height: 14px; |
|
| 200 |
+} |